The communications industry is rapidly changing to adjust to emerging technologies and ever increasing customer demand. This customer demand for new applications and increased performance of existing applications is driving communications network and system providers to employ networks and systems having greater speed and capacity (e.g., greater bandwidth). In trying to achieve these goals, a common approach taken by many communications providers is to use packet switching technology.
Some current day routers use a distributed forwarding architecture for determining how to forward packets. A centralized route processor communicates with route processors on other routers using known routing protocols to discover the topology of the network and to build a routing table of routes for the network. Based on this routing table, the route processor produces a Forwarding Information Base (FIB) which includes forwarding information for all preferred routes in the routing table. The complete FIB is then distributed to every line card of the router, and each line card maintains a complete copy of the FIB. Each line card performs forwarding lookup operations on their local copy of the complete FIB to determine how to forward packets. For example, an ingress forwarding lookup operation is performed, based on a packet received from an external device, to determine the line card (and possibly port and other information) from which to forward the packet. The packet is then sent through the router to that line card. In one architecture, an egress forwarding lookup operation is also performed on the local copy of the complete FIB for determining how (e.g., from which port, other characteristics) to forward the packet from that line card to an external device. Note, in a current distributed forwarding architecture, a packet that is received from another line card can be forwarded to a device external to the router, but it cannot remain in the router and be forwarded to another line card.